/*
 * MsgEditText.java
 * Author:  lixh
 * Create Date:  2015年6月27日
 */
package com.yinhai.view;

import android.content.ClipboardManager;
import android.content.Context;
import android.text.SpannableString;
import android.util.AttributeSet;
import android.widget.EditText;

import com.yinhai.model.ExpressionUtil;

/**
 * MsgEditText (自定义聊天界面 文本输入框)
 *
 * Author:lixh
 */
public class MsgEditText extends EditText {
    
    /**
     * <默认构造函数>
     */
    public MsgEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    
    @Override
    public boolean onTextContextMenuItem(int id) {
        
        if (id == android.R.id.paste) {
            ClipboardManager clip = (ClipboardManager)getContext().getSystemService(Context.CLIPBOARD_SERVICE);
            String str = this.getText().toString() + clip.getText().toString(); // 消息具体内容
            String zhengze = "f0[0-9]{2}|f10[0-7]"; // 正则表达式，用来判断消息内是否有表情
            try {
                SpannableString spannableString =
                    ExpressionUtil.getExpressionStringByNormal(this.getContext(), str, zhengze);
                // clip.setText(spannableString);
                this.setText(spannableString);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }
        return super.onTextContextMenuItem(id);
    }
    
}
